Embedded optimization algorithm of parameters to drive deployment mechanism for displays

ABSTRACT

A deployment system for a device of a vehicle is described. The deployment system includes a non-transitory computer readable medium to store instructions of the deployment system and a processor configured to execute the instructions. The processor is configured to deploy the device using a parameter, determine a Mean Square Error (MSE), and run a Statistical Process Control (SPC) test on the MSE. The processor is further configured to determine that no special event is present and process a new parameter using the parameter and the SPC test results. An evolutionary operation (EVOP) algorithm is also used to calculate the new parameter.

BACKGROUND

Vehicles include devices, such as displays or head-up displays (HUDs),which are repositioned for different occupants. Such deployment of thesedevices causes the mechanical components of the devices to wear out.There is a need for a smart system with a deployment mechanism fordeploying the device to a new position, and continuously improving thedeployment while taking into account potential interactions with thedevice environment (e.g. mechanical constraints, vibrations, etc.) anddiscrepancies between target and actual parameters of the device. Thissystem would also account for manufacturing variations of such devices.

SUMMARY

This section provides a general summary of the present disclosure and isnot a comprehensive disclosure of its full scope or all of its features,aspects, and objectives.

Disclosed herein are implementations of a deployment system for adevice. The deployment system includes a non-transitory computerreadable medium to store instructions of the deployment system and aprocessor configured to execute the instructions. The processor isconfigured to deploy the device using one or more parameters, determinea Mean Square terror (MSE) of the system response versus target, and runa Statistical Process Control (SPC) test on the MSE. The processor isfurther configured to determine that no special event is present andadjust the one or more parameters.

Also disclosed herein are implementations of a deployment system for avehicle having a microprocessor, a sensor, and a head-up display (HUD).The microprocessor is configured to execute instructions stored on anon-transitory computer readable medium. The sensor is coupled to themicroprocessor and configured to receive information of surroundings ofthe deployment system. The HUD is coupled to the microprocessor. Themicroprocessor is further configured to initiate a target response foran occupant of the vehicle and deploy the HUD using the target response.The microprocessor is further configured to measure a real-time responseof the HUD during deployment and compute a Mean Square Error (MSE) usingthe target response and the real-time response. The microprocessor thendetermines using a EVOP algorithm the new parameters for deployment ofthe HUD using the MSE and recorded parameters and responses fromprevious iterations.

Also disclosed herein are implementations of a method for deploying adisplay. The method includes performing deployment using one or moreparameters, determining a Mean Square Error (MSE), and running aStatistical Process Control (SPC) test on the MSE. The method furtherincludes determining that no special event is present and processing newparameters using historical data, the MSE, and the SPC test results.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure is best understood from the following detaileddescription when read in conjunction with the accompanying drawings. Itis emphasized that, according to common practice, the various featuresof the drawings are not to-scale. On the contrary, the dimensions of thevarious features are arbitrarily expanded or reduced for clarity.

FIG. 1 is a simplified block diagram depicting exemplary components ofthe system in accordance with one aspect of the present disclosure;

FIG. 2 is a flow chart illustrating an exemplary process of the systemin accordance with one aspect of the present disclosure;

FIG. 3 is a graph of a target speed and a measured speed of a display inaccordance with one aspect of the present disclosure;

FIG. 4 is a flow chart illustrating an exemplary process of the systemin accordance with one aspect of the present disclosure; and

FIG. 5 is a graph of an Evolutionary Operation (EVOP) algorithm inaccordance with one aspect of the present disclosure.

DETAILED DESCRIPTION

The following description is merely exemplary in nature and is notintended to limit the disclosure in its application or uses. Forpurposes of clarity, the same reference numbers are used in thedescription and drawings to identify similar elements.

FIG. 1 is an illustrative block diagram depicting exemplary componentsof the system 100 in accordance with one aspect of the presentdisclosure. The system 100 may include additional and/or fewercomponents and is not limited to those illustrated in FIG. 1. The system100 includes a control unit 102. The control unit 102 includes variouscomponents such as at least one microprocessor or processor 104, amemory 106, and an input/output 108. The control unit 102 may processthe data captured by the sensor 112 to identify the environmentsurrounding the system 100, or more particularly of the display 110. Thesensor 112 may capture the real-time position and/or speed of thedisplay 110. The control unit 102 may process the real-time positionand/or speed of the display 110 within that environment. The controlunit 102 processes data of the environment, like mechanical constraintsor vibration that are captured by the sensor 111 The memory 106 storesdata of the positions of the display 110 Using the record of previouspositions of the display 110 and a new set of parameters, the processor104 provides the new parameters to the display 110 to drive thedeployment mechanism for the display 110.

The processor 104 is a device that processes signals and performsgeneral computing and arithmetic functions. The processor 104 mayinclude multiple single and multicore processors, co-processors, andarchitectures. The memory 106 may include a variety of memory, such asvolatile memory and non-volatile memory. The memory 106 may also includea disk, such as but not limited to a flash memory card, a memory stick,a magnetic disk drive, a solid state disk drive, a CR-ROM, or a DVD ROM.The memory 106 may store a system that controls resources of a computingdevice and software that the processor 104 executes. The processor 104and memory 106 are operatively coupled. The processor 104 performsprocesses by executing software instructions stored by the memory 106.The processes may include capturing data of the environment surroundingthe display 110. The processes may include capturing data of thereal-time speed when the display 110 is deploying and the real-timeposition of the display 110. The processes may also include determiningthe angle of the display 110. The processes may further includecomputing a metric measuring a Mean Square Error (MSE) while the display110 is deploying. The processes may also include calculating theparameters for the next deploy of the display 110, which improves theprocesses.

The processor 104 and the memory 106 communicate through theinput/output 108. The input/output 108 is a part of the system 100 andcommunicates with the sensor 112 and the display 110. The data capturedby the sensor 112 is input to processor 104 for processing andoutputting to the display 110 for providing display deploymentassistance to optimize the position of the display 110 for an occupantof a vehicle.

The memory 106 stores an optimization algorithm having softwareparameters to drive a deployment mechanism for the display 110. Theoptimization algorithm is embedded in the software of the display 110.The embedded optimization algorithm may be used with any mechanism thatdeploys the display 110. The position of the display 110 may be capturedin real-time and stored in the memory 106. The speed of the display 110as it deploys may be measured in real-time and stored in the memory 106.The display 110 includes the deployment mechanism for deploying thedisplay 110. Each time the deployment mechanism is used in the vehiclefor deploying the display 110 to a new position, a new set of softwareparameters is tested. Small variations of the system response aredetected by sensor 112. The small variations may be undetectable by theoccupant. The processor 104 computes a metric measuring the MSE duringthis deployment. Using the result and the record of previous deploys,together with using an Evolutionary Operation (EVOP) algorithm and aStatistical Process Control (SPC), the processor 104 calculates theparameters for the next deploy of the display 110. The embeddedoptimization algorithm is continuously improving the metric and theparameters to provide optimal performance to the occupant during thelifecycle of the display 110. The optimal performance reduces the wearof the deployment mechanism, because the wear of the mechanicalcomponents of the deployment mechanism are dynamically compensated bythe embedded optimization algorithm. Furthermore, each time the display110 is deployed, the embedded optimization algorithm measures theperformance of the display 110 for evolutionary optimization.

The optimization algorithm can be embedded into a variety of devices.The embedded optimization algorithm includes an initial parametersetting, such as a set point (SP). The parameters may include PIDcoefficients (e.g. proportional, integral, and/or derivativecoefficients) The parameters change using the particular device and theembedded optimization algorithm will evolve to find the device'sparticular optimum parameters (e.g. process variables (PV)). Theembedded optimization algorithm also accounts for potential interactionsof the device with the environment, for example, mechanical constraintsand vibration. The embedded optimization algorithm computes theseinfluences and adapts continuously to the environment.

FIG. 2 illustrates an exemplary process 200 of the system 100. Step 202includes at least one parameter of an occupant or driver of a vehicle.The parameters can be identified by x₁, x₂, . . . x_(n). Using theparameters, at step 204, the processor 104 provides instructions to adeployment mechanism, such as a motor. For example, the embeddedoptimization algorithm uses the parameters x₁, x₂, . . . x_(n) to drivethe motor for deployment of the display 110. Each parameter has initialvalues and boundaries that define the design space for optimizing thedeployment. At step 206, the sensor 112, such as a Hall sensor, is usedto capture position and/or speed of the display 110. If the sensorcaptures data that changes the parameters, the values and boundariesdefined may also change. Process 200 may continue to step 202 andevaluate the parameters and continue the process. Process 200 maycontinue to step 208 to drive the motor to deploy the display 110. Theembedded optimization algorithm modifies the parameters driving thedeployment device so that process 200 provides smooth, precise, andrepeatable deployments of the display 110.

FIG. 3 illustrates a graph 300 of a speed profile 302 of the display110, including a target speed 304 and a measured speed 306. At each timeinterrupt, the processor 104 calculates an error e_(i) between thetarget speed 304 and the measured speed 306. For each deployment j ofthe display 110, such as a head-up display (HUD), the processor 104calculates the MSE of the target speed 304 and the measured speed 306.The parameters x₁(j), x₂(j), . . . . x_(n)(j) include a response MSE(j).The equation for this calculation is as follows:

${MSE} = \frac{\sum e_{i}^{2}}{df}$

FIG. 4 illustrates an exemplary process 400 of the embedded optimizationalgorithm of the system 100. Process 400 begins with establishing thedefault parameters at step 402. The parameters are identified by x₁(0),x₂(0), . . . x_(n)(0). After the default parameters are established,process 400 proceeds to step 404. At step 404, deployment j withparameters x₁(j), x₂(j), . . . x_(n)(j) are performed. The processor 104calculates a response MSE(j), the MSE is the sum of the square of aspeed error or a position error at each period divided by one less thanthe number of period. At step 406, a SPC test is run on the responseMSE(j) using an exponentially weighted moving average (EWMA) method. TheEWMA method uses a type of infinite impulse response filter that appliesweighting factors which decrease exponentially. The weighting for eacholder datum decreases exponentially without reaching zero,

The SPC is used on the MSE to determine if a special event occurredduring the deployment of the display 110. If a special event occurredduring deployment, the last result is discarded. In other words, if theresponse MSE(j) is out of control, there is a special event and process400 returns to step 404 to redo the deployment j. If the response MSE(j)is in control, meaning that there is no special event, process 400proceeds to step 408. At step 408, a EVOP algorithm is used to calculatex_(j)(j+1), x₂(j+1), . . . x_(n)(j+1) using a previous n+1 in thecontrol results. At step 410, the deployment j is adjusted to j+1. Theparameters from the last n+1 records and the corresponding measures ofthe MSE are recorded and stored in memory 106. After deployment j isadjusted, process 400 proceeds to step 404 to perform the deployment jand the response. Process 400 continues until it stops. Process 400 maystop when the vehicle is turned off or after a period of time, andresume when the vehicle is turned on.

FIG. 5 illustrates a graph 500 of an evolutionary operation, or EVOP502, of the system 100. In this embodiment, the EVOP 502 has twoparameters X1 and X2. Each vertex, for example vertex 1-6, isrepresented by a dot on the graph 50. Vertex 1, 2, 3 are the initialvertexes. The value of X1 and X2 may be adjusted from 0 to 100. Thecurves, for example curves 504, 506, 508, represent a contour plot ofthe MSE. During the first three moves, e.g. from vertex 1 to vertex 2 tovertex 3, the MSE is calculated for each of the three vertexes. Afterthe MSE is calculated, the vertex moves toward an optimal area 510 forthe particular device having the embedded optimization algorithm. When avertex (e.g. vertex 512) reaches the optimal area 510, the vertex 512oscillates around the optimal area 510 until a condition changes. Forexample, if wear on the deployment mechanism or another influence isdetected, the system behavior changes and the optimal area 510 will moveto a more optimal area. In other words, the embedded optimizationalgorithm will adapt and the vertex will move to a new optimal area.

The new set of parameters (e.g., the vertex) is calculated using thevalid last n+1 deployments using EVOP 502. In another embodiment, adifferent variant of EVOP 502 is used. For example, using a variable offixed step size. One implementation of EVOP 502 is to 1) rank the MSEand 2) obtain a new vertex. For step 1, a Vertex W is the vertex with ahigher MSE and a Vertex_G is the mean of all other vertexes. For step 2,the new vertex is calculated as follows: New Vertex=2*Vertex_G−Vertex⁻W.Basically, optimal parameters are determined and implemented as staticparameters. To dynamically adapt to a change of the device, the recordsof the MSE are refreshed. For example, records of the MSE older than 100deploys or one month are actualized. The EVOP 502 may include additionaland/or fewer steps and is not limited to those illustrated ifs thisdisclosure.

While the disclosure has been described in connection with certainembodiments, it is to be understood that the disclosure is not to belimited to the disclosed embodiments but, on the contrary, is intendedto cover various modifications and equivalent arrangements includedwithin the scope of the appended claims, which scope is to be accordedthe broadest interpretation so as to encompass all such modificationsand equivalent structures as is permitted under the law.

What is claimed is:
 1. A deployment system for a device, comprising: anon-transitory computer readable medium to store instructions of thedeployment system; and a processor configured to execute theinstructions, the processor being configured to: deploy the device usinga parameter; determine a Mean Square Error (MSE); run a StatisticalProcess Control (SPC) test on the MSE; determine that no special eventis present; and process a new parameter using the parameter and the SPCtest results.
 2. The deployment system of claim 1, wherein the SPC testran on the MSE includes using an exponentially weighted moving averagemethod.
 3. The deployment system of claim 1, wherein the processor isfurther configured to: determine that a special event is present; andrepeat deployment of the device using the parameter.
 4. The deploymentsystem of claim 1, wherein the processor is further configured to:initiate a default parameter; deploy the device using the defaultparameter; and process the new parameter using the default parameter andthe SPC test results.
 5. The deployment system of claim 1, whereinprocessing the new parameter using the parameter and the SPC testresults includes using an evolutionary operation (EVOP) algorithm tocalculate the new parameter.
 6. The deployment system of claim 1,further comprising: a sensor to capture at least one of an actual speedof deploying the device and an actual position of the device.
 7. Thedeployment system of claim 6, wherein the processor is furtherconfigured to determine the MSE using at least one of the actual speedversus a target speed of deploying the device and the actual position ofthe device versus a target position of the display.
 8. The deploymentsystem of claim 1, wherein the device is at least one of a display or ahead-up display (HUD).
 9. A deployment system for a vehicle, comprising:a microprocessor, the microprocessor being configured to executeinstructions stored on a non-transitory computer readable medium; asensor coupled to the microprocessor and configured to receiveinformation of surroundings of the deployment system; and a head-updisplay (HUD) coupled to the microprocessor; wherein the microprocessoris further configured to: initiate a target parameter for an occupant ofthe vehicle; deploy the HUD using the target parameter; measure areal-time parameter of the HUD during deployment; compute a Mean SquareError (MSE) using the target parameter and the real-time parameter; anddetermine a new parameter for deployment of the HUD using the MSE. 10.The deployment system of claim 9, wherein the real-time parameter is atleast one of speed and position of the HUD.
 11. The deployment system ofclaim 9, wherein the processor is further configured to use anevolutionary operation (EVOP) algorithm and a Statistical ProcessControl (SPC) to determine the new parameter.
 12. The deployment systemof claim 9, wherein the information of the surroundings of thedeployment system includes at least one of mechanical constraints andvibrations of the HUD.
 13. The deployment system of claim 9, furthercomprising a deployment mechanism for deploying the HUD.
 14. A methodfor deploying a display, comprising: performing deployment using aparameter; determining a Mean Square Error (MSE); running a StatisticalProcess Control (SPC) test on the MSE; determining that no special eventis present; and processing a new parameter using the parameter and theSPC test results.
 15. The method of claim 14, wherein the running theSPC test on the MSE includes using an exponentially weighted deployingaverage method.
 16. The method of claim 14, further comprising:determining that a special event is present; and repeating deploymentusing the parameter and the SPC test results.
 17. The method of claim14, further comprising: initiating a default parameter; performingdeployment using the default parameter; and processing the new parameterusing the default parameter and the SPC test results.
 18. The method ofclaim 14, wherein processing a new parameter using the parameter and theSPC test results includes using an evolutionary operation (EVOP)algorithm to calculate the new parameter.
 19. The method of claim 14,wherein determining the MSE using an actual speed of deploying thedisplay versus a target speed of deploying the display.
 20. The methodof claim 14, wherein determining the MSE using an actual position of thedisplay versus a target position of deploying the display.